#ifndef _IUROUTE_HPP_
#define _IUROUTE_HPP_

#include "iuRouteRule.hpp"
#include "iuIPAddress.hpp"

/**
 * @brief Classe de gestion de la table de routage
 */
class iuRoute
{
public:
   iuRoute();
   ~iuRoute();

   void         addRule(iuRouteRule *newRule);
   void         removeRule(int n);
   void         removeRulesByInterface(const iuInterface *in);

   iuRouteRule *route(const iuIPAddress &ip);
   void         setUp(int n);
   void         setDown(int n);

   void         print() const;

private:
   iuRouteRule *m_table;
};

#endif
